const path = require('path')

const resolve = (dir) => {
    return path.join(__dirname, dir)
}

module.exports = {
    // 基本路径
    publicPath: process.env.NODE_ENV === 'production' ? '' : '/',
    // 输出文件目录
    outputDir: process.env.NODE_ENV === 'production' ? 'dist' : 'devDist',
    // eslint-loader 是否在保存的时候检查
    lintOnSave: true,
    configureWebpack: {
        resolve: {
            alias: {
                '@': resolve('src'),
                '*': resolve('')
            }
        }
    },
    // 生产环境是否生成 sourceMap 文件
    productionSourceMap: false,
    // css相关配置
    css: {
        // 是否使用css分离插件 ExtractTextPlugin
        extract: true,
        // 开启 CSS source maps?
        sourceMap: false,
        // css预设器配置项
        loaderOptions: {
            less: {
                lessOptions: {
                    javascriptEnabled: true
                }
            }
        },
        // modules: false
        // requireModuleExtension: false,
    },
    // webpack-dev-server 相关配置
    devServer: {
        // 设置代理
        proxy: process.env.VUE_APP_CURRENTMODE === 'dev-local'
            ? {
                '/api': {
                    // 此处的写法，目的是为了 将/api 替换成 http://localhost:3000
                    target: 'http://localhost:8081',
                    // 是否跨域
                    changeOrigin: true,
                    // 路径重写 下面示例为 将 /api 替换成空
                    pathRewrite: {
                        '^/api': ''
                    }
                }
            }
            : null,
        overlay: {
            // 全屏模式下是否显示脚本错误
            warnings: true,
            errors: true
        }
    }
}
